package com.ecotope.quartz.module.util;

import java.io.*;
import java.util.Map;

public class DateUtil {


    /**
     * 空气质量指数级别 1："一级" 2： "二级" 3 ："三级" 4： 其他
     */
    public static Map KQZLZSJBMap(Map map) {
        String kqzlzsjb = String.valueOf(map.get("KQZLZSJB"));
        map.remove("KQZLZSJB");
        switch (kqzlzsjb) {
            case "一级":
                map.put("KQZLZSJB", 1);
                break;
            case "二级":
                map.put("KQZLZSJB", 2);
                break;
            case "三级":
                map.put("KQZLZSJB", 3);
                break;
            default:
                map.put("KQZLZSJB", 4);
                break;
        }
        return map;
    }

    /**
     * 空气质量颜色 1："绿色" 2："黄色" 3："橙色" 4：其他
     */
    public static Map KQZLYSMap(Map map) {
        String kqzlys = String.valueOf(map.get("KQZLYS"));
        map.remove("KQZLYS");
        switch (kqzlys) {
            case "绿色":
                map.put("KQZLYS", 1);
                break;
            case "黄色":
                map.put("KQZLYS", 2);
                break;
            case "橙色":
                map.put("KQZLYS", 3);
                break;
            default:
                map.put("KQZLYS", 4);
                break;
        }
        return map;
    }

    /**
     * 空气质量类别  1:"优" 2:"良" 3:"轻度污染" 4:其他
     */
    public static Map KQZLLBMap(Map map) {
        String kqzllb = String.valueOf(map.get("KQZLLB"));
        map.remove("KQZLLB");
        switch (kqzllb) {
            case "优":
                map.put("KQZLLB", 1);
                break;
            case "良":
                map.put("KQZLLB", 2);
                break;
            case "轻度污染":
                map.put("KQZLLB", 3);
                break;
            default:
                map.put("KQZLLB", 4);
                break;
        }
        return map;
    }

    /**
     * 首要污染物 1：PM2.5 2:PM10 3：其他
     */
    public static Map SYWRWMap(Map map) {
        String sywrw = String.valueOf(map.get("SYWRW"));
        map.remove("SYWRW");
        switch (sywrw) {
            case "PM2.5":
                map.put("SYWRW", 1);
                break;
            case "PM10":
                map.put("SYWRW", 2);
                break;
            default:
                map.put("SYWRW", 3);
                break;
        }
        return map;
    }

    /**
     * 数据标记 1:"有效";2:"连续数";3:"有效数据不足";4:"其他"
     */
    public static Map SJBJMap(Map map) {

        if (map.get("SJBJ") != null) {
            String sjbj = String.valueOf(map.get("SJBJ"));
            map.remove("SJBJ");
            //数据标记 1:"有效";2:"连续数";3:"有效数据不足";4:"其他"
            switch (sjbj) {
                case "有效":
                    map.put("SJBJ", 1);
                    break;
                case "连续数":
                    map.put("SJBJ", 2);
                    break;
                case "有效数据不足":
                    map.put("SJBJ", 3);
                    break;
                default:
                    map.put("SJBJ", 4);
                    break;
            }
        }
        return map;
    }

    /**
     * 因子代码 1:"COL1";2:"COL2";3:"COL3"；4:"COL4"；5:"COL5"；6:"COL6"；7:"COL7"；8:"COL8"；9:"COL9"；10:"COL10"；11:其他；
     */
    public static Map YZBHMap(Map map) {

        if (map.get("YZBH") != null) {
            String yzbh = String.valueOf(map.get("YZBH"));
            map.remove("YZBH");
            //因子代码 1:"COL1";2:"COL2";3:"COL3"；4:"COL4"；5:"COL5"；6:"COL6"；7:"COL7"；8:"COL8"；9:"COL9"；10:"COL10"；11:其他；
            switch (yzbh) {
                case "COL1":
                    map.put("YZBH", 1);
                    break;
                case "COL2":
                    map.put("YZBH", 2);
                    break;
                case "COL3":
                    map.put("YZBH", 3);
                    break;
                case "COL4":
                    map.put("YZBH", 4);
                    break;
                case "COL5":
                    map.put("YZBH", 5);
                    break;
                case "COL6":
                    map.put("YZBH", 6);
                    break;
                case "COL7":
                    map.put("YZBH", 7);
                    break;
                case "COL8":
                    map.put("YZBH", 8);
                    break;
                case "COL9":
                    map.put("YZBH", 9);
                    break;
                case "COL10":
                    map.put("YZBH", 10);
                    break;
                default:
                    map.put("YZBH", 11);
                    break;
            }
        }
        return map;
    }

    /**
     * 评价等级  1："Ⅰ"；2："Ⅱ"；3："Ⅲ"；4："Ⅳ"；0："--"
     *
     * @param map
     * @return
     */
    public static Map PJDJMap(Map map) {

        if (map.get("PJDJ") != null) {
            String pjdj = String.valueOf(map.get("PJDJ"));
            map.remove("PJDJ");
            //评价等级  1："Ⅰ"；2："Ⅱ"；3："Ⅲ"；4："Ⅳ"；0："--"
            switch (pjdj) {
                case "--":
                    map.put("PJDJ", 0);
                    break;
                case "Ⅰ":
                    map.put("PJDJ", 1);
                    break;
                case "Ⅱ":
                    map.put("PJDJ", 2);
                    break;
                case "Ⅲ":
                    map.put("PJDJ", 3);
                    break;
                case "Ⅳ":
                    map.put("PJDJ", 4);
                    break;
                default:
                    map.put("PJDJ", 5);
                    break;
            }
        }
        return map;
    }


    public static String readFileContent(String fileName) {
        File file = new File(fileName);
        BufferedReader reader = null;
        StringBuffer sbf = new StringBuffer();
        try {
            reader = new BufferedReader(new FileReader(file));
            String tempStr;
            while ((tempStr = reader.readLine()) != null) {
                sbf.append(tempStr);
            }
            reader.close();
            return sbf.toString();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
        }
        return sbf.toString();
    }
}
